#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QMessageBox>
#include<QPushButton>
#include<QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::on_pushButton_clicked()
{
    //创建QMessageBox
    QMessageBox* messageBox = new QMessageBox(this);
    messageBox->setWindowTitle("窗口！");
    messageBox->setText("文本！");
    messageBox->setIcon(QMessageBox::Warning);
    messageBox->setStandardButtons(QMessageBox::Ok | QMessageBox::Save);//添加按钮
    //在标准按钮中，没办法进行信号槽的连接（按钮式QMessageBox 自己生成的）
    //可以通过获取exec的返回值来确定点击的是哪个按钮
//    QPushButton* button = new QPushButton("按钮");
//    messageBox->addButton(button, QMessageBox::AcceptRole);

    //connect连接信号槽，针对当前点击的按钮进行一些相关操作

    //用户点击按钮对话框关闭后，可以通过获取exec的返回值来确定点击的是哪个按钮，从而执行一些对应的逻辑
    //messageBox->exec();
    int result = messageBox->exec();
    if(result == QMessageBox::Ok)// ok no 等选项都有对应的整型value
    {
        qDebug() <<"ok!";
    }
    else if(result == QMessageBox::Save)
    {
         qDebug() <<"save!";
    }

    //因为是模态对话框，当他处于弹出状态的时候，代码就会在exec这里阻塞，一直到对话框被关闭，所以可以直接使用delete
    delete messageBox;
}
